package org.lanqiao.tjut.testpractice0729;

import java.sql.Date;
import java.util.Calendar;
import java.util.Scanner;

import org.junit.Test;

public class TestDriver {
	/*
	 * 【程序12】    题目：企业发放的奖金根据利润提成。 利润(I)低于或等于10万元时，奖金可提10%；
	 * 利润高于10万元，低于20万元时，低于10万元的部分按10%提成高于10万元的部分，可可提成7.5%；
	 * 20万到40万之间时，高于20万元的部分，可提成5%； 40万到60万之间时高于40万元的部分，可提成3%；
	 * 60万到100万之间时，高于60万元的部分，可提成1.5%， 高于100万元时，超过100万元的部分按1%提成，
	 * 从键盘输入当月利润，求应发放奖金总数？  
	 */
	@Test
	public void test01() {
		// 从控制台输入当月利润
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入当月利润s:");
		double s = sc.nextDouble();
		if (s < 0) {
			System.out.println("本月公司亏损，暂时没有提成奖金！");
		} else if (s < 10) {
			System.out.println("奖金可提10%，可提奖金数为：" + (s * 0.1) + " 万元");
		} else if (s < 20) {
			System.out.println("奖金可提7.5%，可提奖金为：" + (s * 0.075) + " 万元");
		} else if (s < 40) {
			System.out.println("奖金可提5%，可提奖金为：" + (s * 0.05) + " 万元");
		} else if (s < 60) {
			System.out.println("奖金可提成3%，可提奖金为：" + (s * 0.03) + " 万元");
		} else if (s < 100) {
			System.out.println("奖金可提成1.5%，可提奖金为：" + (s * 0.015) + " 万元");
		} else {
			System.out.println("奖金可提成1%，可提奖金为：" + (s * 0.01) + " 万元");
		}
	}

	/*
	 * 【程序14】   题目：输入某年某月某日，判断这一天是这一年的第几天？   
	 * 
	 * 七天一周，上半年单月大，下半年双月大。1月12月大，7月8月大。 大月31天，小月30天。 一般每年365天，润年366天。
	 * 年数除以四，能除尽，即闰年。 逢整数年，需要除以400，能除尽，方是闰年。 如2000年是闰年，1900年就不是闰年
	 */
	@Test
	public void test02() {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年份：");
		int year = sc.nextInt();
		System.out.println("请输入月份：");
		int month = sc.nextInt();
		System.out.println("请输入号数：");
		int day = sc.nextInt();
		Date date = new Date(year, month, day);
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		System.out.println(date.getYear() + "年" + date.getMonth() + "月" + date.getDate() + "日" + "\n" + date.getYear()
				+ " 年的第 " + cal.get(Calendar.DAY_OF_YEAR) + " 天！");
	}

	/*
	 * 【程序17】    题目：猴子吃桃问题： 猴子第一天摘下若干个桃子，当即吃了一半，还不瘾，又多吃了一个    
	 * 第二天早上又将剩下的桃子吃掉一半，又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时，见只剩下一个桃子了。
	 * 求第一天共摘了多少。  
	 */
	@Test
	public void test03() {
		// 剩下的总共的桃子数，如果是第一天，则是第一天摘的桃子数
		int sum = 1;
		Scanner sc = new Scanner(System.in);
		System.out.println("到第几天还剩下一个桃子？");
		int n = sc.nextInt();
		for (int i = 0; i < n; i++) {
			sum = (sum + 1) * 2;
		}
		System.out.println("第一天总共摘了：" + sum + " 个桃子！");
	}

	/*
	 * 【程序18】    题目：两个乒乓球队进行比赛，各出三人。 甲队为a,b,c三人，乙队为x,y,z三人。
	 * 已抽签决定比赛名单。有人向队员打听比赛的名单。 a说他不和x比，c说他不和x,z比， 请编程序找出三队赛手的名单。 
	 */

	@Test
	public void test04() {
		System.out.println("---比赛名单---");
		char i, j, k;
		// i是a的对手，j是b的对手，k是c的对手 
		for (i = 'x'; i <= 'z'; i++)
			for (j = 'x'; j <= 'z'; j++) {
				if (i != j)
					for (k = 'x'; k <= 'z'; k++) {
						if (i != k && j != k) {
							if (i != 'x' && k != 'x' && k != 'z')
								System.out.println("a" + " VS " + i + "\nb" + " VS " + j + "\nc" + " VS " + k);
						}
					}
			}
	}
	
}
